home *** CD-ROM | disk | FTP | other *** search
-
-
-
- SSSSYYYYMMMMSSSS((((4444)))) SSSSYYYYMMMMSSSS((((4444))))
-
-
-
- NNNNAAAAMMMMEEEE
- syms - MIPS symbol table
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyymmmm....hhhh>>>>
- ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyymmmmccccoooonnnnsssstttt....hhhh>>>>
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The following information applies to the IRIX 4 COFF symbol table and,
- for now, the ....mmmmddddeeeebbbbuuuugggg section found in 32-bit objects on IRIX 6. In a
- future IRIX release, the ....mmmmddddeeeebbbbuuuugggg section will be replaced.
-
- The MIPS symbol table departs from the standard COFF symbol table. The
- symbol table consists of many tables unbundling information usually found
- in the one COFF symbol table. The symbol table should be viewed as a
- hand-crafted, network-style database designed for space and access
- efficiency.
-
- The following structures or tables appear in the MIPS symbol table:
-
- TABLE CONTENTS
- symbolic header sizes and locations of all other tables.
- file descriptors per file locations for other tables.
- procedure descriptors frame info and location of procedure info.
- local symbols local type, local variable, and scoping info.
- local strings string space for local symbols.
- line numbers compacted by encoding, contains a line per instruction.
- relative file desc. indirection for inter-file symbol access.
- optimization symbols to be defined.
- auxiliary symbols variable data type info for each local symbol.
- external symbols loader symbols (global text and data).
- external strings string space for external symbols.
- dense numbers (file, symbol) index pairs for compiler use.
-
- External and local symbols contain the standard concept of a ``symbol''
- as follows:
-
- struct
- {
- long iss; /* index into string space */
- long value; /* addr, size, etc., depends on sc & st */
- unsigned st: 6; /* symbol type (e.g. local, param, etc.) */
- unsigned sc: 5; /* storage class (e.g. text, bss, etc.) */
- unsigned reserved: 1;
- unsigned index: 20; /* index into symbol or auxiliary table */
- };
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-